const redis = require('redis');
const client = redis.createClient({ // 连接配置
  host: '127.0.0.1',              // Redis 服务器地址
  port: 6379,                     // 默认端口
  password: 'your_password'       // 若需认证
});

// 监听连接状态
client.on('connect', () => console.log('Redis 连接成功'));
client.on('error', (err) => console.error('Redis 错误:', err));
// ‌注‌：若使用 Redis v4+，需通过 client.connect() 显式启动连接

// 写入（带10秒过期）
export async function setItem (key, value, expireTime) {
  return await client.set(key, value, 'EX', expireTime);
}

// 读取
async function getItem (key) {
  return await client.get(key);
}

// 删除
async function deleteItem (key) {
  return await client.del(key);
}

// 存储对象
async function setObj (key, obj) {
  /*
  await client.hSet(key, obj)
  */
  return await client.hmset(key, obj);
};

// 获取单个字段
async function getObjField (key, field) {
  return await client.hGet(key, field);
}

// 获取全部字段
async function getObjAllField (key) {
  return await client.hGetAll(key);
}


// 列表操作（消息队列场景）
await client.lPush('task_queue', 'task1');
const task = await client.rPop('task_queue');

// 集合操作（去重存储）
await client.sAdd('unique_users', 'user1');
const exists = await client.sIsMember('unique_users', 'user1');
